package com.example.demo.service;

import com.example.demo.client.vm.sysbasequery.UserGroupTreeVm;
import com.example.demo.web.rest.evt.IdEvt;
import com.example.demo.web.rest.evt.RelationEvt;
import com.example.demo.web.rest.evt.SaveUserGroupEvt;

import java.text.ParseException;
import java.util.List;

/**
 * 用户组管理接口
 * @Author zhengmf
 * @Date 2018/12/25  11:37
 */
public interface UserGroupService {
    /**
     * 添加用户组和用户关系
     * @param evt
     * @return
     */
    Integer addGroupUserByGroupIdAndUserIds(RelationEvt evt);
    /**
     * 删除用户和用户组关系
     * @param evt
     * @return
     */
    Integer delGroupUserByGroupIdAndUserIds(RelationEvt evt);
    /**
     * 删除用户组及与用户、角色关系
     * @param evt
     */
    void delUserGroup(IdEvt evt);
    /**
     * 保存用户组信息及与角色、功能权限、资源权限的关系
     * @param evt
     * @return
     */
    Long saveUserGroup(SaveUserGroupEvt evt) throws ParseException;

    List<UserGroupTreeVm> getParentGroupTree(IdEvt evt);

}
